from PIL import Image
import os, time, stat

# 第 0005 题： 你有一个目录，装了很多照片，把它们的尺寸变成都不大于 iPhone5 分辨率的大小。
# 目录：/images/image_resolution/   iPhone5分辨率：1136*640

iPhone5_resolution = (1136, 640)


def single_transform(infile, outfile):
    im = Image.open(infile)
    reim = im.resize(iPhone5_resolution)
    reim.save(outfile)


def dir_transform(dir, targetDir):
    files = os.listdir(dir)
    if not os.path.exists(targetDir):
        os.mkdir(targetDir)
        os.chmod(targetDir, stat.S_IWRITE)

    for f in files:
        if os.path.isfile(dir + os.sep + f):
            single_transform(dir + os.sep + f, targetDir + os.sep + f)
    pass


def final_transform(dir, targetDir=''):
    targetDir = os.path.abspath(dir) + os.sep + time.strftime("%Y%m%d%H%M%S",
                                                              time.localtime()) if targetDir == '' else targetDir
    dir_transform(dir, targetDir)


# single_transfor(r"images/image1.jpg",r"images/image_resolution/result1.jpg")
final_transform('resource/images/image_resolution')
